1 using System.Collections;
2 using
System.Collections.Generic;
3 using
UnityEngine;
4 using
UnityEngine.UI;
5
6 public
class CreatePuzzleButtonsAndAnimators : MonoBehaviour {
7
8     
[SerializeField]
9     
private LayoutPuzzleButtons layoutPuzzleButtons;
10
11
12     
[SerializeField]
13     
private Button puzzleButton;
14
15     
private int puzzleGame1 = 6;
16     
private int puzzleGame2 = 12;
17     
private int puzzleGame3 = 18;
18     
private int puzzleGame4 = 24;
19     
private int puzzleGame5 = 30;
20
21     
private List<Button> level1Buttons = new List<Button>();
22     
private List<Button> level2Buttons = new List<Button>();
23     
private List<Button> level3Buttons = new List<Button>();
24     
private List<Button> level4Buttons = new List<Button>();
25     
private List<Button> level5Buttons = new List<Button>();
26
27     
private List<Animator> level1Anim = new List<Animator>();
28     
private List<Animator> level2Anim = new List<Animator>();
29     
private List<Animator> level3Anim = new List<Animator>();
30     
private List<Animator> level4Anim = new List<Animator>();
31     
private List<Animator> level5Anim = new List<Animator>();
32
33     
void Awake()
34     {
35         CreateButtons();
36         GetAnimators();
37     }
38
39
40     
// Use this for initialization
41     
void Start () {
42         AssignButtonsAndAnims();
43     }
44
45     
void AssignButtonsAndAnims()
46     {
47         layoutPuzzleButtons.level1Buttons = level1Buttons;
48         layoutPuzzleButtons.level2Buttons = level2Buttons;
49         layoutPuzzleButtons.level3Buttons = level3Buttons;
50         layoutPuzzleButtons.level4Buttons = level4Buttons;
51         layoutPuzzleButtons.level5Buttons = level5Buttons;
52
53         layoutPuzzleButtons.level1Anims = level1Anim;
54         layoutPuzzleButtons.level2Anims = level2Anim;
55         layoutPuzzleButtons.level3Anims = level3Anim;
56         layoutPuzzleButtons.level4Anims = level4Anim;
57         layoutPuzzleButtons.level5Anims = level5Anim;
58
59     }
60
61     
void CreateButtons()
62     {
63         
for(int i = 0; i < puzzleGame1; i++)
64         {
65             Button btn = Instantiate(puzzleButton);
66             btn.gameObject.name =
"" + i;
67             level1Buttons.Add(btn);
68         }
69         
for (int i = 0; i < puzzleGame2; i++)
70         {
71             Button btn = Instantiate(puzzleButton);
72             btn.gameObject.name =
"" + i;
73             level2Buttons.Add(btn);
74         }
75         
for (int i = 0; i < puzzleGame3; i++)
76         {
77             Button btn = Instantiate(puzzleButton);
78             btn.gameObject.name =
"" + i;
79             level3Buttons.Add(btn);
80         }
81         
for (int i = 0; i < puzzleGame4; i++)
82         {
83             Button btn = Instantiate(puzzleButton);
84             btn.gameObject.name =
"" + i;
85             level4Buttons.Add(btn);
86         }
87         
for (int i = 0; i < puzzleGame5; i++)
88         {
89             Button btn = Instantiate(puzzleButton);
90             btn.gameObject.name =
"" + i;
91             level5Buttons.Add(btn);
92         }
93     }
94
95     
void GetAnimators()
96     {
97         
for(int i = 0; i < level1Buttons.Count; i++)
98         {
99             level1Anim.Add(level1Buttons[i].GetComponent<Animator>());
100             level1Buttons[i].gameObject.SetActive(
false);
101         }
102         
for (int i = 0; i < level2Buttons.Count; i++)
103         {
104             level2Anim.Add(level2Buttons[i].GetComponent<Animator>());
105             level2Buttons[i].gameObject.SetActive(
false);
106         }
107         
for (int i = 0; i < level3Buttons.Count; i++)
108         {
109             level3Anim.Add(level3Buttons[i].GetComponent<Animator>());
110             level3Buttons[i].gameObject.SetActive(
false);
111         }
112         
for (int i = 0; i < level4Buttons.Count; i++)
113         {
114             level4Anim.Add(level4Buttons[i].GetComponent<Animator>());
115             level4Buttons[i].gameObject.SetActive(
false);
116         }
117         
for (int i = 0; i < level5Buttons.Count; i++)
118         {
119             level5Anim.Add(level5Buttons[i].GetComponent<Animator>());
120             level5Buttons[i].gameObject.SetActive(
false);
121         }
122     }
123 }



Full source code giải đố hình đơn giản 16.639 lượt xem

Gõ tìm kiếm nhanh...